In a multitasking environment the decoder cannot be guaranteed to
have enough system resources available to provide audio data for
the output device in realtime. Thus the decoder must be ahead of the
output device and store the decoded data into a buffer so that there
is always something to play in case the decoder temporarily cannot
keep up the pace. Sometimes even the buffer is not enough but the
output device plays all the data in the buffer before the decoder
provides more. This is called buffer underrun. When a buffer
underrun occurs, the playback is paused and resumed again
when the decoder has provided more data to the buffer.
- Buffer Size
-
Sets the buffer size in seconds. You can calculate the buffer
size in bytes using the following formula:
- [buffer size in bytes] =
- [buffer size in seconds] * [sample rate] * [channel count] * [bit resolution] / 8
- Buffer pre-fill
-
When the playback restarts (starting a new track when stopped,
setting the playback position or when a buffer underrun occurs)
buffer is filled up to the percentage given by this setting before
the playback is started.
When playing multiple tracks in a row, Apollo tries to play the tracks
without stopping the playback of the output device in between them.
This is possible if the two adjacent tracks have the same sample frequency,
channel count and bit resolution. If these conditions are not met, the device
will be stopped and the settings of continuous play are not applied.
Currently four possible continuous play modes are supported: gapless playback,
silent pause, crossfade and crossfade without fade in.
Gapless playback plays tracks without any pause between them.
The silent pause does not pause the output device for the given
amount of time, but instead it feeds the buffer with silent data.
You can hear this for instance when you are using a echoing DSP
plug-in (the end of the song echoes during the silent part between
tracks). Setting the pause length to 0 seconds means gapless playback.
Some MiniDisc recorders automatically recognizes silent sections of
three seconds as the end of track markes, so this option might be useful
when creating your own MiniDisc recordings.
With the crossfade modes the playback of the next track starts (or fades in)
while the current track fades out. This allows listening to tracks in a
radio-like manner. You cannot set the exact length of the crossfade, but
instead you provide the preferred length. This is because the crossfade is
performed with the yet unplayed buffered data and the buffer cannot
be guaranteed to be full. From this follows the fact that the crossfade
cannot be longer than the used buffer size. Thus you should always use
a rather large buffer with the crossfade modes.
The chosen crossfade mode will also be used when the Control key is held
down and a new track is selected while already playing. It is naturally
required that the two tracks have the same sample frequency, channel count
and bit resolution.
To use the continuous play modes in a more efficient way, you can set
Apollo to skip the unwanted silence in the beginning and/or in the
end of the tracks. And because people have different opinions on what
is to be considered silence, the threshold of silence can be set.
Note that the skipping of silence in the end of tracks is
(again) done within the buffer. Thus if there is more silence in the
end of a track than there is space in the buffer, only a part of
the silence will be skipped. Also note that skipping the silence in
the end of a track takes buffer space from the crossfader and thus
the preferred crossfade length might not be applicable resulting in a
shorter crossfade.